/* ==========================================================================
   1. BODY & LIST TEXT (FORCED PARITY)
   ========================================================================== */
p, p span, li, li span, li p {
  font-size: 18px !important;
  line-height: 1.6 !important;
}

/* Fix for bullet lists expanding/shrinking on published view */
ul, ol, ul li, ol li {
  font-size: 18px !important;
}

/* ==========================================================================
   2. MAIN HERO TITLE (DEFAULT GLOBAL)
   ========================================================================== */
h1, .zpelem-title h1, .zpsection-title h1, [class*="title"] h1 {
  font-size: 54px !important;
  line-height: 1.1 !important;
}

/* ==========================================================================
   3. SUBTITLES & HEADINGS
   ========================================================================== */
h2, h3, .zpelem-title span, .zpsection-title span, [class*="title"] span {
  font-size: 32px !important;
  line-height: 1.3 !important;
}

/* ==========================================================================
   4. HYPERLINKS vs. BUTTON STYLING (EXPLICIT SEPARATION)
   ========================================================================== */

/* Standard Body Text Links (Blue & Underlined) */
p a, li a, article a, a {
  color: #2c16c8 !important;
  text-decoration: underline !important;
}

p a:hover, li a:hover, article a:hover, a:hover,
p a:focus, li a:focus, article a:focus, a:focus,
p a:visited, li a:visited, article a:visited, a:visited {
  color: #1a0da8 !important;
  text-decoration: underline !important;
}

/* CTA Buttons Override (White Text, 18px, No Underline) */
.lc-btn-wrapper a,
a.cta-button,
a.zpbutton {
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.lc-btn-wrapper a:hover,
a.cta-button:hover,
a.zpbutton:hover,
.lc-btn-wrapper a:visited,
a.cta-button:visited,
a.zpbutton:visited {
  color: #ffffff !important;
  text-decoration: none !important;
  opacity: 0.95;
}

/* ==========================================================================
   5. ARTICLE TEMPLATE HEADER BLOCK (STANDARDIZED SPACING GRID)
   ========================================================================== */

/* Main Header Container */
.article-header-container {
  max-width: 580px;
  margin: 0 auto;
  text-align: left;
}

/* Brand Moniker Badge */
.article-badge {
  display: inline-block;
  background-color: #f1f5f9;
  color: #475569;
  font-size: 12px !important;
  font-weight: 600;
  line-height: 16px !important;
  padding: 4px 10px;
  border-radius: 4px;
  margin-top: 0;
  margin-bottom: 16px !important;
}

/* Article Title Override (Bypasses global 54px h1) */
h1.article-title {
  font-size: 24px !important;
  font-weight: 700;
  color: #0f172a;
  line-height: 32px !important;
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}

/* Subtitle */
.article-subtitle {
  font-size: 18px !important;
  font-weight: 500;
  color: #334155;
  line-height: 24px !important;
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

/* Custom Divider Line (Stabilized for Zoho Rendering Engine) */
.article-divider {
  border-top: 1px solid #e2e8f0;
  height: 0px;
  margin-top: 0;
  margin-bottom: 16px;
}

/* Universal Municipal Subheading */
p.article-subheading {
  font-size: 14px !important;
  line-height: 20px !important;
  color: #64748b;
  margin-top: 0 !important;
  margin-bottom: 32px !important;
  font-style: italic;
}

/* ==========================================================================
   6. LEADERSHIP COMPASS & CONVERSION BLOCK OVERRIDES
   ========================================================================== */

/* Left-Alignment Force for LC Blocks */
div.lc-section-container,
div.lc-section-container *,
.lc-section-container p,
.lc-section-container span,
.lc-section-container h2,
.lc-section-container h3,
.lc-section-container ul,
.lc-section-container li {
  text-align: left !important;
}

/* Centered Button Wrapper */
div.lc-btn-wrapper {
  text-align: center !important;
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

/* ==========================================================================
   7. ZOHO COOKIE BANNER TEXT-CENTERING & OVERFLOW KILLER
   ========================================================================== */

/* 1. Force the Outer Banner Container to Stay Full-Width */
#zpPrivacyConsentBar,
.zp-privacy-consent-container,
div[class*="privacy-consent"],
div[class*="zp-cookie"] {
  width: 100% !important;
  max-width: 100vw !important;
  left: 0 !important;
  right: 0 !important;
  box-sizing: border-box !important;
  padding: 12px 16px !important;
  margin: 0 !important;
  transform: none !important;
}

/* 2. Kill Central Offset and Force Left Alignment on ALL Inner Containers */
#zpPrivacyConsentBar *,
.zp-privacy-consent-container *,
div[class*="privacy-consent"] *,
div[class*="zp-cookie"] * {
  text-align: left !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  flex-direction: column !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

/* 3. Re-Align Action Buttons to Left-Align Under Text */
#zpPrivacyConsentBar button,
.zp-privacy-consent-container button,
div[class*="privacy-consent"] button,
div[class*="zp-cookie"] button {
  margin-top: 8px !important;
  margin-right: 8px !important;
  display: inline-block !important;
  width: auto !important;
}

/* ==========================================================================
   8. RESPONSIVE LOGO SIZE FIX (PARENT CONTAINER & IMAGE HARD-CAP)
   ========================================================================== */

/* 1. Target Top Column/Row Containers Holding Logos */
header [class*="zpcol"],
header [class*="zpelem"],
.zpheader [class*="zpcol"],
.zpheader [class*="zpelem"],
div[class*="logo"] {
  max-width: 180px !important;
  width: auto !important;
  display: inline-block !important;
}

/* 2. Lock Logo Image Width & Prevent Full-Width Flex Stretching */
header img,
.zpheader img,
.logo-container img,
img.site-logo,
a[class*="logo"] img,
div[class*="logo"] img {
  width: 140px !important;
  max-width: 140px !important;
  height: auto !important;
  max-height: 80px !important;
  object-fit: contain !important;
  display: block !important;
}

/* 3. Tablet Portrait & Mobile Landscape Containment */
@media screen and (max-width: 1024px) {
  header [class*="zpcol"],
  .zpheader [class*="zpcol"],
  header [class*="zpelem"],
  .zpheader [class*="zpelem"],
  div[class*="logo"] {
    max-width: 120px !important;
  }

  header img,
  .zpheader img,
  .logo-container img,
  img.site-logo,
  a[class*="logo"] img,
  div[class*="logo"] img {
    width: 100px !important;
    max-width: 100px !important;
    max-height: 60px !important;
    height: auto !important;
    margin-left: 0 !important;
  }
}